package com.hongye.why.base;

import android.content.Context;
import android.widget.BaseAdapter;

import java.util.ArrayList;
import java.util.List;

public abstract class MyBaseAdapter<T> extends BaseAdapter {

	public Context context;
	public List<T> list = new ArrayList<>();

	public MyBaseAdapter(Context context) {
		this.context = context;
	}

	public MyBaseAdapter(Context context, List<T> list) {
		this.context = context;
		this.list = list;
	}

//	public  void setList(List<T> temp){
//		this.list = temp;
//		notifyDataSetChanged();
//	}

	@Override
	public int getCount() {
		return list.size();
	}

	@Override
	public T getItem(int position) {
		return (T) list.get(position);
	}

	@Override
	public long getItemId(int position) {
		return position;
	}

	/**
	 * 更新某一个数据元
	 * @param position 数据元位置
	 * @param t2 更改后的数据元
	 */
	public void update(int position, T t2) {
		list.set(position, t2);
		notifyDataSetChanged();
	}

	/**
	 * 移除某个数据元
	 * @param position 要移除的位置
	 */
	public void remove(int position) {
		list.remove(position);
		notifyDataSetChanged();
	}

	/**
	 * 添加数据元
	 * @param temp 要添加的数据元集合
	 */
	public void addAll(List<T> temp ) {
		list.addAll(temp);
		notifyDataSetChanged();
	}

	/**
	 * 清空所有数据
	 */
	public void clearAll() {
		list.clear();
		notifyDataSetChanged();
	}

//	public void removeAndAdd(List<T> temp ) {
//		if(temp == null){
//			list.clear();
//			notifyDataSetChanged();
//		}else{
//			list.clear();
//			notifyDataSetChanged();
//			list.addAll(temp);
//			notifyDataSetChanged();
//		}
//
//	}


}
